Java打印流(PrintStream/PrintWriter) | 您所在的位置:网站首页 › try out for的用法 › Java打印流(PrintStream/PrintWriter) |
概念
打印流是输出信息最方便的类,注意包含字节打印流PrintStream和字符打印流PrintWriter。打印流提供了非常方便的打印功能,可以打印任何类型的数据信息,例如:小数,整数,字符串。而且永远不会抛出IOException异常。 PrintStream字节打印流PrintWriter字符打印流一般使用PrintWriter,灵活性更强 打印流只有输出流,没有输入流,主要用于打印,会把你的信息指定到一个位置(显示器或文件等) PrintStream由图可知PrintStream的直接父类是FilterOutputStream,顶级父类是OutputStream(字节流) 该类提供了7个构造方法,根据应用场景进行操作,具体方法可查看JDK文档或百度 经典用法 System.out:表示标准输出,用来往控制台输出数据,控制台默认打印的是hello world(默认打印是在显示器打印,可以进行修改数据输出的位置) PrintStream out = System.out; out.print("hello world"); out.close();下图为PrintStream类的print方法源码,可以看出print的底层使用的write方法,所以也可以直接调用write方法 writer方法 因为writer方法底层是按照字节打印的(PrintStream本身就是字节流),所以getBytes方法(String类中)得到一个操作系统默认的编码格式的字节数组 PrintStream out = System.out; try { out.write("hello world".getBytes()); } catch (IOException e) { e.printStackTrace(); } out.close();修改打印流的输出位置/设备 输出到E盘下的文件,此时代码执行过后,hello world则输出到该文件(使用setOut方法,System类) String s = "E:\\test.txt"; try { System.setOut(new PrintStream(s)); System.out.println("hello world"); } catch (FileNotFoundException e) { e.printStackTrace(); } PrintWriter由图可知PrintWriter的直接父类Writer 该类提供了八个构造器,根据不同的场景选择操作,具体方法可查看JDK文档或百度 总体上操作方法与PrintStream相同 默认方式 因为这里的System.out未设置,所以默认是显示器输出 PrintWriter printWriter = new PrintWriter(System.out); printWriter.print("hi,你好"); printWriter.close();指定路径的输出方式 PrintWriter中传入的是指定路径,所以此时代码的执行结果在相对于的文件中 PrintWriter printWriter = null; try { printWriter = new PrintWriter(new FileWriter("E:\\test.txt")); } catch (IOException e) { e.printStackTrace(); } printWriter.print("hi,你好"); printWriter.close();注意:PrintStream和PrintWriter的操作中,最后必须要close关闭,因为实际的输出方法在close方法中,可自行查看底层源码 |
CopyRight 2018-2019 实验室设备网 版权所有 |